#include <iostream>
#include <vector>
using namespace std;

// 已知
int n;
int x;
// 未知
int cnt = 1e9;
vector<int> mp(2222222, -1e9);
void f(int i)
{
    if (i > n) return;
    cin >> x;
    cnt = min(cnt, i - mp[x] + 1); // 记录最小长度
    mp[x] = i;                     // 记录位置
    f(i + 1);                      // 继续搜索
}
int main()
{
    cin >> n;
    f(1);
    if (cnt >= 1e9) cout << -1;
    else cout << cnt;
    return 0;
}